package ast;

public interface Visitor {

    /* Visit method in alphabetical order */
    public Object visit (ActualParamList n);
    public Object visit (AddNode n);
    public Object visit (AndNode n);
    public Object visit (AssignmentNode n);
    public Object visit (BasicTypeDecNode n);
    public Object visit (BodyNode n);
    public Object visit (CallVarNode n);
    public Object visit (ClassDecNode n);
    public Object visit (ClassDefNode n);
    public Object visit (DivideNode n);
    public Object visit (EqualNode n);
    public Object visit (FalseNode n);
    public Object visit (GreaterEqualNode n);
    public Object visit (GreaterNode n);
    public Object visit (IfNode n);
    public Object visit (InNode n);
    public Object visit (InstVarDecNode n);
    public Object visit (IntNumNode n);
    public Object visit (LengthNode n);
    public Object visit (LessEqualNode n);
    public Object visit (LessNode n);
    public Object visit (List n);
    public Object visit (MainProgramNode n);
    public Object visit (MethodBodyNode n);
    public Object visit (MethodCallNode n);
    public Object visit (MethodDecNode n);
    public Object visit (MinusNode n);
    public Object visit (Node n);
    public Object visit (NotEqualNode n);
    public Object visit (NotInNode n);
    public Object visit (NotNode n);
    public Object visit (ObjTypeDecNode n);
    public Object visit (OrNode n);
    public Object visit (ParamListNode n);
    public Object visit (ParamNode n);
    public Object visit (PowerNode n);
    public Object visit (ProgramNode n);
    public Object visit (RealNumNode n);
    public Object visit (RepeatNode n);
    public Object visit (ReturnStmtNode n);
    public Object visit (StmtNode n);
    public Object visit (StringNode n);
    public Object visit (TimesNode n);
    public Object visit (TrueNode n);
    public Object visit (VarNode n);
}